package com.empire.module.member.controller.admin.mappolygonpoint.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 多边形顶点坐标 Response VO")
@Data
@ExcelIgnoreUnannotated
public class MapPolygonPointRespVO {

    @Schema(description = "顶点ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "19182")
    @ExcelProperty("顶点ID")
    private Long id;

    @Schema(description = "关联多边形ID（关联member_map_polygon.id）", requiredMode = Schema.RequiredMode.REQUIRED, example = "20399")
    @ExcelProperty("关联多边形ID（关联member_map_polygon.id）")
    private String polygonId;

    @Schema(description = "环索引（0-外环，1+内环，用于复杂多边形）", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("环索引（0-外环，1+内环，用于复杂多边形）")
    private Integer ringIndex;

    @Schema(description = "经度（范围：-180~180）", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("经度（范围：-180~180）")
    private BigDecimal lng;

    @Schema(description = "纬度（范围：-90~90）", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("纬度（范围：-90~90）")
    private BigDecimal lat;

    @Schema(description = "顶点顺序（同一环内从0开始）", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("顶点顺序（同一环内从0开始）")
    private Integer pointIndex;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createdAt;

}